package com.cdtye.itps.cms.dao.pillar.entity;


import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import com.cdtye.common.webcore.util.DateUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@ApiModel("支柱")
@TableName("JCW_PILLAR")
public class JcwPillar {

    @ApiModelProperty(value = "支柱ID")
    @TableId(value = "PILLAR_ID", type = IdType.ASSIGN_UUID)
    private String pillarId;

    @ApiModelProperty(value = "股道ID")
    private String trackId;

    @ApiModelProperty(value = "行别ID")
    private String directionId;

    @ApiModelProperty(value = "站ID")
    private String siteId;

    @ApiModelProperty(value = "隧道ID")
    private String tunnelId;

    @ApiModelProperty(value = "设备分类ID")
    private String deviceClassId;

    @ApiModelProperty(value = "线路ID")
    private String seclineId;

    @ApiModelProperty(value = "支柱号")
    private String pillarNum;

    @ApiModelProperty(value = "支柱编号")
    private String pillarNo;

    @ApiModelProperty(value = "支柱名称")
    private String pillarName;

    @ApiModelProperty(value = "支柱装配类型 关联支柱类型表ID")
    private String pillarTypeId;

    @ApiModelProperty(value = "物料编号")
    private String materialNo;

    @ApiModelProperty(value = "投入使用日期")
    @DateTimeFormat(pattern = DateUtil.DATETIME_FORMAT)
    @JSONField(format = DateUtil.DATETIME_FORMAT)
    private Date runDate;

    @ApiModelProperty(value = "有效期,以年为单位")
    private Double serviceTerm;

    @ApiModelProperty(value = "生产厂家")
    private String mfrs;

    @ApiModelProperty(value = "生产日期")
    @DateTimeFormat(pattern = DateUtil.DATETIME_FORMAT)
    @JSONField(format = DateUtil.DATETIME_FORMAT)
    private Date mfrsDate;

    @ApiModelProperty(value = "厂家设备号")
    private String mfrsSerialNo;

    @ApiModelProperty(value = "厂家批次号")
    private String mfrsLotNo;

    @ApiModelProperty(value = "公里标")
    private Double roadMark;

    @ApiModelProperty(value = "排序   数字越大越前面")
    private Double orderNum;

    @ApiModelProperty(value = "经度")
    private Double longitude;

    @ApiModelProperty(value = "纬度")
    private Double latitude;

    @ApiModelProperty(value = "最近一次检修日期")
    @DateTimeFormat(pattern = DateUtil.DATETIME_FORMAT)
    @JSONField(format = DateUtil.DATETIME_FORMAT)
    private Date lastOverhaulDate;

    @ApiModelProperty(value = "最近一次检测日期")
    @DateTimeFormat(pattern = DateUtil.DATETIME_FORMAT)
    @JSONField(format = DateUtil.DATETIME_FORMAT)
    private Date lastDetectDate;

    @ApiModelProperty(value = "最近一次巡视日期")
    @DateTimeFormat(pattern = DateUtil.DATETIME_FORMAT)
    @JSONField(format = DateUtil.DATETIME_FORMAT)
    private Date lastInspectionDate;

    @ApiModelProperty(value = "检修周期 以月为单位")
    private Long overhaulPeriod;

    @ApiModelProperty(value = "检测周期 以月为单位")
    private Long detectPeriod;

    @ApiModelProperty(value = "检修周期id")
    private Long inspectionPeriod;

    @ApiModelProperty(value = "备注信息")
    private String memo;

    @ApiModelProperty(value = "部门ID")
    private String deptId;

    @ApiModelProperty(value = "是否审核 Y:已审核，N未审核")
    private String isAudit;

    @ApiModelProperty(value = "支柱材质")
    private String pillarMaterial;

    @ApiModelProperty(value = "支柱型号")
    private String pillarModels;

    @ApiModelProperty(value = "支柱类型")
    private String pillarType;

    @ApiModelProperty(value = "删除状态0使用 1删除 2停用")
    private String deleteStatus;

    @ApiModelProperty(value = "几何类型")
    private String geometryType;

    @ApiModelProperty(value = "上次检修日期")
    @DateTimeFormat(pattern = DateUtil.DATETIME_FORMAT)
    @JSONField(format = DateUtil.DATETIME_FORMAT)
    private Date preOverhaulDate;

    @ApiModelProperty(value = "上次检测日期")
    @DateTimeFormat(pattern = DateUtil.DATETIME_FORMAT)
    @JSONField(format = DateUtil.DATETIME_FORMAT)
    private Date preDetectDate;

    @ApiModelProperty(value = "上次巡视日期")
    @DateTimeFormat(pattern = DateUtil.DATETIME_FORMAT)
    @JSONField(format = DateUtil.DATETIME_FORMAT)
    private Date preInspectionDate;

    @ApiModelProperty(value = "能否挂地线Y能挂, N不能挂")
    private String isHitchGround;

    @ApiModelProperty(value = "最近一次检修人")
    private String lastOverhaulPerson;

    @ApiModelProperty(value = "最近一次检测人")
    private String lastDetectPerson;

    @ApiModelProperty(value = "最近一次巡视人")
    private String lastInspectionPerson;

    @ApiModelProperty(value = "上上次检修人")
    private String preOverhaulPerson;

    @ApiModelProperty(value = "上上次检测人")
    private String preDetectPerson;

    @ApiModelProperty(value = "上上次巡视人")
    private String preInspectionPerson;

    @ApiModelProperty(value = "共享数据中心编码")
    private String mCode;

    @ApiModelProperty(value = "工区ID")
    private String unitDeptCode;
    //
    @ApiModelProperty(value = "数据来源ID")
    private String sourceId;

    @ApiModelProperty(value = "部门来源ID")
    private String deptSourceId;

    @ApiModelProperty(value = "线路来源ID")
    private String seclineSourceId;

    @ApiModelProperty(value = "区站来源ID")
    private String siteSourceId;

    @ApiModelProperty(value = "隧道来源ID")
    private String tunnelSourceId;

    @ApiModelProperty(value = "股道来源ID")
    private String trackSourceId;
    //
//    @ApiModelProperty(value = "设计寿命")
//    private String designedLife;
//
//    @ApiModelProperty(value = "目的")
//    private String purpose;
//
//    @ApiModelProperty(value = "安装位置")
//    private String installLocation;
//
//    @ApiModelProperty(value = "支柱状态")
//    private String pillarStatus;
//
//    @ApiModelProperty(value = "基础类型")
//    private String basicType;
//
//    //@ApiModelProperty(value = "组织ID")
//    //private String assemblyId;
//
//    @ApiModelProperty(value = "检修周期id")
//    private String repairPeriodConfigId;
//
//    @ApiModelProperty(value = "检测周期id")
//    private String detectPeriodConfigId;
//
//    @ApiModelProperty(value = "巡视周期id")
//    private String inspectionPeriodConfigId;
//
    @ApiModelProperty(value = "段支柱id")
    private String sectionPillarId;

    @ApiModelProperty("创建时间")
    @TableField(value ="CREATE_DATETIME", fill = FieldFill.INSERT)
    private Date createDatetime;

    @ApiModelProperty("更新时间")
    @TableField(value ="UPDATE_DATETIME",fill = FieldFill.INSERT_UPDATE)
    private Date updateDatetime;

    @ApiModelProperty("创建人")
    @TableField(value ="CREATE_BY", fill = FieldFill.INSERT)
    private String createBy;

    @ApiModelProperty("更新人")
    @TableField(value ="UPDATE_BY",fill = FieldFill.INSERT_UPDATE)
    private String updateBy;


    public JcwPillar() {
    }

    public String getPillarId() {
        return this.pillarId;
    }

    public String getTrackId() {
        return this.trackId;
    }

    public String getDirectionId() {
        return this.directionId;
    }

    public String getSiteId() {
        return this.siteId;
    }

    public String getTunnelId() {
        return this.tunnelId;
    }

    public String getDeviceClassId() {
        return this.deviceClassId;
    }

    public String getSeclineId() {
        return this.seclineId;
    }

    public String getPillarNum() {
        return this.pillarNum;
    }

    public String getPillarNo() {
        return this.pillarNo;
    }

    public String getPillarName() {
        return this.pillarName;
    }

    public String getPillarTypeId() {
        return this.pillarTypeId;
    }

    public String getMaterialNo() {
        return this.materialNo;
    }

    public Date getRunDate() {
        return this.runDate;
    }

    public Double getServiceTerm() {
        return this.serviceTerm;
    }

    public String getMfrs() {
        return this.mfrs;
    }

    public Date getMfrsDate() {
        return this.mfrsDate;
    }

    public String getMfrsSerialNo() {
        return this.mfrsSerialNo;
    }

    public String getMfrsLotNo() {
        return this.mfrsLotNo;
    }

    public Double getRoadMark() {
        return this.roadMark;
    }

    public Double getOrderNum() {
        return this.orderNum;
    }

    public Double getLongitude() {
        return this.longitude;
    }

    public Double getLatitude() {
        return this.latitude;
    }

    public Date getLastOverhaulDate() {
        return this.lastOverhaulDate;
    }

    public Date getLastDetectDate() {
        return this.lastDetectDate;
    }

    public Date getLastInspectionDate() {
        return this.lastInspectionDate;
    }

    public Long getOverhaulPeriod() {
        return this.overhaulPeriod;
    }

    public Long getDetectPeriod() {
        return this.detectPeriod;
    }

    public Long getInspectionPeriod() {
        return this.inspectionPeriod;
    }

//    public String getRepairPeriodConfigId() {
//        return this.repairPeriodConfigId;
//    }
//
//    public String getDetectPeriodConfigId() {
//        return this.detectPeriodConfigId;
//    }
//
//    public String getInspectionPeriodConfigId() {
//        return this.inspectionPeriodConfigId;
//    }

    public String getMemo() {
        return this.memo;
    }

    public String getDeptId() {
        return this.deptId;
    }

    public String getIsAudit() {
        return this.isAudit;
    }

    public String getPillarMaterial() {
        return this.pillarMaterial;
    }

    public String getPillarModels() {
        return this.pillarModels;
    }

    public String getPillarType() {
        return this.pillarType;
    }

    public String getDeleteStatus() {
        return this.deleteStatus;
    }

    public String getGeometryType() {
        return this.geometryType;
    }

    public Date getPreOverhaulDate() {
        return this.preOverhaulDate;
    }

    public Date getPreDetectDate() {
        return this.preDetectDate;
    }

    public Date getPreInspectionDate() {
        return this.preInspectionDate;
    }

    public String getIsHitchGround() {
        return this.isHitchGround;
    }

    public String getLastOverhaulPerson() {
        return this.lastOverhaulPerson;
    }

    public String getLastDetectPerson() {
        return this.lastDetectPerson;
    }

    public String getLastInspectionPerson() {
        return this.lastInspectionPerson;
    }

    public String getPreOverhaulPerson() {
        return this.preOverhaulPerson;
    }

    public String getPreDetectPerson() {
        return this.preDetectPerson;
    }

    public String getPreInspectionPerson() {
        return this.preInspectionPerson;
    }

    public Date getCreateDatetime() {
        return this.createDatetime;
    }

    public Date getUpdateDatetime() {
        return this.updateDatetime;
    }

    public String getCreateBy() {
        return this.createBy;
    }

    public String getUpdateBy() {
        return this.updateBy;
    }

    public JcwPillar setPillarId(String pillarId) {
        this.pillarId = pillarId;
        return this;
    }

    public JcwPillar setTrackId(String trackId) {
        this.trackId = trackId;
        return this;
    }

    public JcwPillar setDirectionId(String directionId) {
        this.directionId = directionId;
        return this;
    }

    public JcwPillar setSiteId(String siteId) {
        this.siteId = siteId;
        return this;
    }

    public JcwPillar setTunnelId(String tunnelId) {
        this.tunnelId = tunnelId;
        return this;
    }

    public JcwPillar setDeviceClassId(String deviceClassId) {
        this.deviceClassId = deviceClassId;
        return this;
    }

    public JcwPillar setSeclineId(String seclineId) {
        this.seclineId = seclineId;
        return this;
    }

    public JcwPillar setPillarNum(String pillarNum) {
        this.pillarNum = pillarNum;
        return this;
    }

    public JcwPillar setPillarNo(String pillarNo) {
        this.pillarNo = pillarNo;
        return this;
    }

    public JcwPillar setPillarName(String pillarName) {
        this.pillarName = pillarName;
        return this;
    }

    public JcwPillar setPillarTypeId(String pillarTypeId) {
        this.pillarTypeId = pillarTypeId;
        return this;
    }

    public JcwPillar setMaterialNo(String materialNo) {
        this.materialNo = materialNo;
        return this;
    }

    public JcwPillar setRunDate(Date runDate) {
        this.runDate = runDate;
        return this;
    }

    public JcwPillar setServiceTerm(Double serviceTerm) {
        this.serviceTerm = serviceTerm;
        return this;
    }

    public JcwPillar setMfrs(String mfrs) {
        this.mfrs = mfrs;
        return this;
    }

    public JcwPillar setMfrsDate(Date mfrsDate) {
        this.mfrsDate = mfrsDate;
        return this;
    }

    public JcwPillar setMfrsSerialNo(String mfrsSerialNo) {
        this.mfrsSerialNo = mfrsSerialNo;
        return this;
    }

    public JcwPillar setMfrsLotNo(String mfrsLotNo) {
        this.mfrsLotNo = mfrsLotNo;
        return this;
    }

    public JcwPillar setRoadMark(Double roadMark) {
        this.roadMark = roadMark;
        return this;
    }

    public JcwPillar setOrderNum(Double orderNum) {
        this.orderNum = orderNum;
        return this;
    }

    public JcwPillar setLongitude(Double longitude) {
        this.longitude = longitude;
        return this;
    }

    public JcwPillar setLatitude(Double latitude) {
        this.latitude = latitude;
        return this;
    }

    public JcwPillar setLastOverhaulDate(Date lastOverhaulDate) {
        this.lastOverhaulDate = lastOverhaulDate;
        return this;
    }

    public JcwPillar setLastDetectDate(Date lastDetectDate) {
        this.lastDetectDate = lastDetectDate;
        return this;
    }

    public JcwPillar setLastInspectionDate(Date lastInspectionDate) {
        this.lastInspectionDate = lastInspectionDate;
        return this;
    }

    public JcwPillar setOverhaulPeriod(Long overhaulPeriod) {
        this.overhaulPeriod = overhaulPeriod;
        return this;
    }

    public JcwPillar setDetectPeriod(Long detectPeriod) {
        this.detectPeriod = detectPeriod;
        return this;
    }

    public JcwPillar setInspectionPeriod(Long inspectionPeriod) {
        this.inspectionPeriod = inspectionPeriod;
        return this;
    }

//    public JcwPillar setRepairPeriodConfigId(String repairPeriodConfigId) {
//        this.repairPeriodConfigId = repairPeriodConfigId;
//        return this;
//    }
//
//    public JcwPillar setDetectPeriodConfigId(String detectPeriodConfigId) {
//        this.detectPeriodConfigId = detectPeriodConfigId;
//        return this;
//    }
//
//    public JcwPillar setInspectionPeriodConfigId(String inspectionPeriodConfigId) {
//        this.inspectionPeriodConfigId = inspectionPeriodConfigId;
//        return this;
//    }

    public JcwPillar setMemo(String memo) {
        this.memo = memo;
        return this;
    }

    public JcwPillar setDeptId(String deptId) {
        this.deptId = deptId;
        return this;
    }

    public JcwPillar setIsAudit(String isAudit) {
        this.isAudit = isAudit;
        return this;
    }

    public JcwPillar setPillarMaterial(String pillarMaterial) {
        this.pillarMaterial = pillarMaterial;
        return this;
    }

    public JcwPillar setPillarModels(String pillarModels) {
        this.pillarModels = pillarModels;
        return this;
    }

    public JcwPillar setPillarType(String pillarType) {
        this.pillarType = pillarType;
        return this;
    }

    public JcwPillar setDeleteStatus(String deleteStatus) {
        this.deleteStatus = deleteStatus;
        return this;
    }

    public JcwPillar setGeometryType(String geometryType) {
        this.geometryType = geometryType;
        return this;
    }

    public JcwPillar setPreOverhaulDate(Date preOverhaulDate) {
        this.preOverhaulDate = preOverhaulDate;
        return this;
    }

    public JcwPillar setPreDetectDate(Date preDetectDate) {
        this.preDetectDate = preDetectDate;
        return this;
    }

    public JcwPillar setPreInspectionDate(Date preInspectionDate) {
        this.preInspectionDate = preInspectionDate;
        return this;
    }

    public JcwPillar setIsHitchGround(String isHitchGround) {
        this.isHitchGround = isHitchGround;
        return this;
    }

    public JcwPillar setLastOverhaulPerson(String lastOverhaulPerson) {
        this.lastOverhaulPerson = lastOverhaulPerson;
        return this;
    }

    public JcwPillar setLastDetectPerson(String lastDetectPerson) {
        this.lastDetectPerson = lastDetectPerson;
        return this;
    }

    public JcwPillar setLastInspectionPerson(String lastInspectionPerson) {
        this.lastInspectionPerson = lastInspectionPerson;
        return this;
    }

    public JcwPillar setPreOverhaulPerson(String preOverhaulPerson) {
        this.preOverhaulPerson = preOverhaulPerson;
        return this;
    }

    public JcwPillar setPreDetectPerson(String preDetectPerson) {
        this.preDetectPerson = preDetectPerson;
        return this;
    }

    public JcwPillar setPreInspectionPerson(String preInspectionPerson) {
        this.preInspectionPerson = preInspectionPerson;
        return this;
    }


    public JcwPillar setCreateDatetime(Date createDatetime) {
        this.createDatetime = createDatetime;
        return this;
    }

    public JcwPillar setUpdateDatetime(Date updateDatetime) {
        this.updateDatetime = updateDatetime;
        return this;
    }

    public JcwPillar setCreateBy(String createBy) {
        this.createBy = createBy;
        return this;
    }

    public JcwPillar setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
        return this;
    }


//    public String getImgPath(){
//        return this.imgPath;
//    }
//
//    public void setImgPath(String imgPath){
//        this.imgPath = imgPath;
//    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof JcwPillar)) {
            return false;
        } else {
            JcwPillar other = (JcwPillar)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label731: {
                    Object this$pillarId = this.getPillarId();
                    Object other$pillarId = other.getPillarId();
                    if (this$pillarId == null) {
                        if (other$pillarId == null) {
                            break label731;
                        }
                    } else if (this$pillarId.equals(other$pillarId)) {
                        break label731;
                    }

                    return false;
                }

                Object this$trackId = this.getTrackId();
                Object other$trackId = other.getTrackId();
                if (this$trackId == null) {
                    if (other$trackId != null) {
                        return false;
                    }
                } else if (!this$trackId.equals(other$trackId)) {
                    return false;
                }

                Object this$directionId = this.getDirectionId();
                Object other$directionId = other.getDirectionId();
                if (this$directionId == null) {
                    if (other$directionId != null) {
                        return false;
                    }
                } else if (!this$directionId.equals(other$directionId)) {
                    return false;
                }

                label710: {
                    Object this$siteId = this.getSiteId();
                    Object other$siteId = other.getSiteId();
                    if (this$siteId == null) {
                        if (other$siteId == null) {
                            break label710;
                        }
                    } else if (this$siteId.equals(other$siteId)) {
                        break label710;
                    }

                    return false;
                }

                label703: {
                    Object this$tunnelId = this.getTunnelId();
                    Object other$tunnelId = other.getTunnelId();
                    if (this$tunnelId == null) {
                        if (other$tunnelId == null) {
                            break label703;
                        }
                    } else if (this$tunnelId.equals(other$tunnelId)) {
                        break label703;
                    }

                    return false;
                }

                label696: {
                    Object this$deviceClassId = this.getDeviceClassId();
                    Object other$deviceClassId = other.getDeviceClassId();
                    if (this$deviceClassId == null) {
                        if (other$deviceClassId == null) {
                            break label696;
                        }
                    } else if (this$deviceClassId.equals(other$deviceClassId)) {
                        break label696;
                    }

                    return false;
                }

                Object this$seclineId = this.getSeclineId();
                Object other$seclineId = other.getSeclineId();
                if (this$seclineId == null) {
                    if (other$seclineId != null) {
                        return false;
                    }
                } else if (!this$seclineId.equals(other$seclineId)) {
                    return false;
                }

                label682: {
                    Object this$pillarNum = this.getPillarNum();
                    Object other$pillarNum = other.getPillarNum();
                    if (this$pillarNum == null) {
                        if (other$pillarNum == null) {
                            break label682;
                        }
                    } else if (this$pillarNum.equals(other$pillarNum)) {
                        break label682;
                    }

                    return false;
                }

                Object this$pillarNo = this.getPillarNo();
                Object other$pillarNo = other.getPillarNo();
                if (this$pillarNo == null) {
                    if (other$pillarNo != null) {
                        return false;
                    }
                } else if (!this$pillarNo.equals(other$pillarNo)) {
                    return false;
                }

                label668: {
                    Object this$pillarName = this.getPillarName();
                    Object other$pillarName = other.getPillarName();
                    if (this$pillarName == null) {
                        if (other$pillarName == null) {
                            break label668;
                        }
                    } else if (this$pillarName.equals(other$pillarName)) {
                        break label668;
                    }

                    return false;
                }

                Object this$pillarTypeId = this.getPillarTypeId();
                Object other$pillarTypeId = other.getPillarTypeId();
                if (this$pillarTypeId == null) {
                    if (other$pillarTypeId != null) {
                        return false;
                    }
                } else if (!this$pillarTypeId.equals(other$pillarTypeId)) {
                    return false;
                }

                Object this$materialNo = this.getMaterialNo();
                Object other$materialNo = other.getMaterialNo();
                if (this$materialNo == null) {
                    if (other$materialNo != null) {
                        return false;
                    }
                } else if (!this$materialNo.equals(other$materialNo)) {
                    return false;
                }

                label647: {
                    Object this$runDate = this.getRunDate();
                    Object other$runDate = other.getRunDate();
                    if (this$runDate == null) {
                        if (other$runDate == null) {
                            break label647;
                        }
                    } else if (this$runDate.equals(other$runDate)) {
                        break label647;
                    }

                    return false;
                }

                label640: {
                    Object this$serviceTerm = this.getServiceTerm();
                    Object other$serviceTerm = other.getServiceTerm();
                    if (this$serviceTerm == null) {
                        if (other$serviceTerm == null) {
                            break label640;
                        }
                    } else if (this$serviceTerm.equals(other$serviceTerm)) {
                        break label640;
                    }

                    return false;
                }

                Object this$mfrs = this.getMfrs();
                Object other$mfrs = other.getMfrs();
                if (this$mfrs == null) {
                    if (other$mfrs != null) {
                        return false;
                    }
                } else if (!this$mfrs.equals(other$mfrs)) {
                    return false;
                }

                Object this$mfrsDate = this.getMfrsDate();
                Object other$mfrsDate = other.getMfrsDate();
                if (this$mfrsDate == null) {
                    if (other$mfrsDate != null) {
                        return false;
                    }
                } else if (!this$mfrsDate.equals(other$mfrsDate)) {
                    return false;
                }

                label619: {
                    Object this$mfrsSerialNo = this.getMfrsSerialNo();
                    Object other$mfrsSerialNo = other.getMfrsSerialNo();
                    if (this$mfrsSerialNo == null) {
                        if (other$mfrsSerialNo == null) {
                            break label619;
                        }
                    } else if (this$mfrsSerialNo.equals(other$mfrsSerialNo)) {
                        break label619;
                    }

                    return false;
                }

                Object this$mfrsLotNo = this.getMfrsLotNo();
                Object other$mfrsLotNo = other.getMfrsLotNo();
                if (this$mfrsLotNo == null) {
                    if (other$mfrsLotNo != null) {
                        return false;
                    }
                } else if (!this$mfrsLotNo.equals(other$mfrsLotNo)) {
                    return false;
                }

                Object this$roadMark = this.getRoadMark();
                Object other$roadMark = other.getRoadMark();
                if (this$roadMark == null) {
                    if (other$roadMark != null) {
                        return false;
                    }
                } else if (!this$roadMark.equals(other$roadMark)) {
                    return false;
                }

                label598: {
                    Object this$orderNum = this.getOrderNum();
                    Object other$orderNum = other.getOrderNum();
                    if (this$orderNum == null) {
                        if (other$orderNum == null) {
                            break label598;
                        }
                    } else if (this$orderNum.equals(other$orderNum)) {
                        break label598;
                    }

                    return false;
                }

                label591: {
                    Object this$longitude = this.getLongitude();
                    Object other$longitude = other.getLongitude();
                    if (this$longitude == null) {
                        if (other$longitude == null) {
                            break label591;
                        }
                    } else if (this$longitude.equals(other$longitude)) {
                        break label591;
                    }

                    return false;
                }

                label584: {
                    Object this$latitude = this.getLatitude();
                    Object other$latitude = other.getLatitude();
                    if (this$latitude == null) {
                        if (other$latitude == null) {
                            break label584;
                        }
                    } else if (this$latitude.equals(other$latitude)) {
                        break label584;
                    }

                    return false;
                }

                Object this$lastOverhaulDate = this.getLastOverhaulDate();
                Object other$lastOverhaulDate = other.getLastOverhaulDate();
                if (this$lastOverhaulDate == null) {
                    if (other$lastOverhaulDate != null) {
                        return false;
                    }
                } else if (!this$lastOverhaulDate.equals(other$lastOverhaulDate)) {
                    return false;
                }

                label570: {
                    Object this$lastDetectDate = this.getLastDetectDate();
                    Object other$lastDetectDate = other.getLastDetectDate();
                    if (this$lastDetectDate == null) {
                        if (other$lastDetectDate == null) {
                            break label570;
                        }
                    } else if (this$lastDetectDate.equals(other$lastDetectDate)) {
                        break label570;
                    }

                    return false;
                }

                Object this$lastInspectionDate = this.getLastInspectionDate();
                Object other$lastInspectionDate = other.getLastInspectionDate();
                if (this$lastInspectionDate == null) {
                    if (other$lastInspectionDate != null) {
                        return false;
                    }
                } else if (!this$lastInspectionDate.equals(other$lastInspectionDate)) {
                    return false;
                }

                label556: {
                    Object this$overhaulPeriod = this.getOverhaulPeriod();
                    Object other$overhaulPeriod = other.getOverhaulPeriod();
                    if (this$overhaulPeriod == null) {
                        if (other$overhaulPeriod == null) {
                            break label556;
                        }
                    } else if (this$overhaulPeriod.equals(other$overhaulPeriod)) {
                        break label556;
                    }

                    return false;
                }

                Object this$detectPeriod = this.getDetectPeriod();
                Object other$detectPeriod = other.getDetectPeriod();
                if (this$detectPeriod == null) {
                    if (other$detectPeriod != null) {
                        return false;
                    }
                } else if (!this$detectPeriod.equals(other$detectPeriod)) {
                    return false;
                }

                Object this$inspectionPeriod = this.getInspectionPeriod();
                Object other$inspectionPeriod = other.getInspectionPeriod();
                if (this$inspectionPeriod == null) {
                    if (other$inspectionPeriod != null) {
                        return false;
                    }
                } else if (!this$inspectionPeriod.equals(other$inspectionPeriod)) {
                    return false;
                }

//                label535: {
//                    Object this$repairPeriodConfigId = this.getRepairPeriodConfigId();
//                    Object other$repairPeriodConfigId = other.getRepairPeriodConfigId();
//                    if (this$repairPeriodConfigId == null) {
//                        if (other$repairPeriodConfigId == null) {
//                            break label535;
//                        }
//                    } else if (this$repairPeriodConfigId.equals(other$repairPeriodConfigId)) {
//                        break label535;
//                    }
//
//                    return false;
//                }

//                label528: {
//                    Object this$detectPeriodConfigId = this.getDetectPeriodConfigId();
//                    Object other$detectPeriodConfigId = other.getDetectPeriodConfigId();
//                    if (this$detectPeriodConfigId == null) {
//                        if (other$detectPeriodConfigId == null) {
//                            break label528;
//                        }
//                    } else if (this$detectPeriodConfigId.equals(other$detectPeriodConfigId)) {
//                        break label528;
//                    }
//
//                    return false;
//                }

//                Object this$inspectionPeriodConfigId = this.getInspectionPeriodConfigId();
//                Object other$inspectionPeriodConfigId = other.getInspectionPeriodConfigId();
//                if (this$inspectionPeriodConfigId == null) {
//                    if (other$inspectionPeriodConfigId != null) {
//                        return false;
//                    }
//                } else if (!this$inspectionPeriodConfigId.equals(other$inspectionPeriodConfigId)) {
//                    return false;
//                }

                Object this$memo = this.getMemo();
                Object other$memo = other.getMemo();
                if (this$memo == null) {
                    if (other$memo != null) {
                        return false;
                    }
                } else if (!this$memo.equals(other$memo)) {
                    return false;
                }

                label507: {
                    Object this$deptId = this.getDeptId();
                    Object other$deptId = other.getDeptId();
                    if (this$deptId == null) {
                        if (other$deptId == null) {
                            break label507;
                        }
                    } else if (this$deptId.equals(other$deptId)) {
                        break label507;
                    }

                    return false;
                }

                Object this$isAudit = this.getIsAudit();
                Object other$isAudit = other.getIsAudit();
                if (this$isAudit == null) {
                    if (other$isAudit != null) {
                        return false;
                    }
                } else if (!this$isAudit.equals(other$isAudit)) {
                    return false;
                }

                Object this$pillarMaterial = this.getPillarMaterial();
                Object other$pillarMaterial = other.getPillarMaterial();
                if (this$pillarMaterial == null) {
                    if (other$pillarMaterial != null) {
                        return false;
                    }
                } else if (!this$pillarMaterial.equals(other$pillarMaterial)) {
                    return false;
                }

                label486: {
                    Object this$pillarModels = this.getPillarModels();
                    Object other$pillarModels = other.getPillarModels();
                    if (this$pillarModels == null) {
                        if (other$pillarModels == null) {
                            break label486;
                        }
                    } else if (this$pillarModels.equals(other$pillarModels)) {
                        break label486;
                    }

                    return false;
                }

                label479: {
                    Object this$pillarType = this.getPillarType();
                    Object other$pillarType = other.getPillarType();
                    if (this$pillarType == null) {
                        if (other$pillarType == null) {
                            break label479;
                        }
                    } else if (this$pillarType.equals(other$pillarType)) {
                        break label479;
                    }

                    return false;
                }

                label472: {
                    Object this$deleteStatus = this.getDeleteStatus();
                    Object other$deleteStatus = other.getDeleteStatus();
                    if (this$deleteStatus == null) {
                        if (other$deleteStatus == null) {
                            break label472;
                        }
                    } else if (this$deleteStatus.equals(other$deleteStatus)) {
                        break label472;
                    }

                    return false;
                }

                Object this$geometryType = this.getGeometryType();
                Object other$geometryType = other.getGeometryType();
                if (this$geometryType == null) {
                    if (other$geometryType != null) {
                        return false;
                    }
                } else if (!this$geometryType.equals(other$geometryType)) {
                    return false;
                }

                label458: {
                    Object this$preOverhaulDate = this.getPreOverhaulDate();
                    Object other$preOverhaulDate = other.getPreOverhaulDate();
                    if (this$preOverhaulDate == null) {
                        if (other$preOverhaulDate == null) {
                            break label458;
                        }
                    } else if (this$preOverhaulDate.equals(other$preOverhaulDate)) {
                        break label458;
                    }

                    return false;
                }

                Object this$preDetectDate = this.getPreDetectDate();
                Object other$preDetectDate = other.getPreDetectDate();
                if (this$preDetectDate == null) {
                    if (other$preDetectDate != null) {
                        return false;
                    }
                } else if (!this$preDetectDate.equals(other$preDetectDate)) {
                    return false;
                }

                label444: {
                    Object this$preInspectionDate = this.getPreInspectionDate();
                    Object other$preInspectionDate = other.getPreInspectionDate();
                    if (this$preInspectionDate == null) {
                        if (other$preInspectionDate == null) {
                            break label444;
                        }
                    } else if (this$preInspectionDate.equals(other$preInspectionDate)) {
                        break label444;
                    }

                    return false;
                }

                Object this$isHitchGround = this.getIsHitchGround();
                Object other$isHitchGround = other.getIsHitchGround();
                if (this$isHitchGround == null) {
                    if (other$isHitchGround != null) {
                        return false;
                    }
                } else if (!this$isHitchGround.equals(other$isHitchGround)) {
                    return false;
                }

                Object this$lastOverhaulPerson = this.getLastOverhaulPerson();
                Object other$lastOverhaulPerson = other.getLastOverhaulPerson();
                if (this$lastOverhaulPerson == null) {
                    if (other$lastOverhaulPerson != null) {
                        return false;
                    }
                } else if (!this$lastOverhaulPerson.equals(other$lastOverhaulPerson)) {
                    return false;
                }

                label423: {
                    Object this$lastDetectPerson = this.getLastDetectPerson();
                    Object other$lastDetectPerson = other.getLastDetectPerson();
                    if (this$lastDetectPerson == null) {
                        if (other$lastDetectPerson == null) {
                            break label423;
                        }
                    } else if (this$lastDetectPerson.equals(other$lastDetectPerson)) {
                        break label423;
                    }

                    return false;
                }

                label416: {
                    Object this$lastInspectionPerson = this.getLastInspectionPerson();
                    Object other$lastInspectionPerson = other.getLastInspectionPerson();
                    if (this$lastInspectionPerson == null) {
                        if (other$lastInspectionPerson == null) {
                            break label416;
                        }
                    } else if (this$lastInspectionPerson.equals(other$lastInspectionPerson)) {
                        break label416;
                    }

                    return false;
                }

                Object this$preOverhaulPerson = this.getPreOverhaulPerson();
                Object other$preOverhaulPerson = other.getPreOverhaulPerson();
                if (this$preOverhaulPerson == null) {
                    if (other$preOverhaulPerson != null) {
                        return false;
                    }
                } else if (!this$preOverhaulPerson.equals(other$preOverhaulPerson)) {
                    return false;
                }

                Object this$preDetectPerson = this.getPreDetectPerson();
                Object other$preDetectPerson = other.getPreDetectPerson();
                if (this$preDetectPerson == null) {
                    if (other$preDetectPerson != null) {
                        return false;
                    }
                } else if (!this$preDetectPerson.equals(other$preDetectPerson)) {
                    return false;
                }

                label395: {
                    Object this$preInspectionPerson = this.getPreInspectionPerson();
                    Object other$preInspectionPerson = other.getPreInspectionPerson();
                    if (this$preInspectionPerson == null) {
                        if (other$preInspectionPerson == null) {
                            break label395;
                        }
                    } else if (this$preInspectionPerson.equals(other$preInspectionPerson)) {
                        break label395;
                    }

                    return false;
                }

                label346: {
                    Object this$createDatetime = this.getCreateDatetime();
                    Object other$createDatetime = other.getCreateDatetime();
                    if (this$createDatetime == null) {
                        if (other$createDatetime == null) {
                            break label346;
                        }
                    } else if (this$createDatetime.equals(other$createDatetime)) {
                        break label346;
                    }

                    return false;
                }

                Object this$updateDatetime = this.getUpdateDatetime();
                Object other$updateDatetime = other.getUpdateDatetime();
                if (this$updateDatetime == null) {
                    if (other$updateDatetime != null) {
                        return false;
                    }
                } else if (!this$updateDatetime.equals(other$updateDatetime)) {
                    return false;
                }

                label332: {
                    Object this$createBy = this.getCreateBy();
                    Object other$createBy = other.getCreateBy();
                    if (this$createBy == null) {
                        if (other$createBy == null) {
                            break label332;
                        }
                    } else if (this$createBy.equals(other$createBy)) {
                        break label332;
                    }

                    return false;
                }

                Object this$updateBy = this.getUpdateBy();
                Object other$updateBy = other.getUpdateBy();
                if (this$updateBy == null) {
                    if (other$updateBy != null) {
                        return false;
                    }
                } else if (!this$updateBy.equals(other$updateBy)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof JcwPillar;
    }

    public int hashCode() {
        int result = 1;
        Object $pillarId = this.getPillarId();
        result = result * 59 + ($pillarId == null ? 43 : $pillarId.hashCode());
        Object $trackId = this.getTrackId();
        result = result * 59 + ($trackId == null ? 43 : $trackId.hashCode());
        Object $directionId = this.getDirectionId();
        result = result * 59 + ($directionId == null ? 43 : $directionId.hashCode());
        Object $siteId = this.getSiteId();
        result = result * 59 + ($siteId == null ? 43 : $siteId.hashCode());
        Object $tunnelId = this.getTunnelId();
        result = result * 59 + ($tunnelId == null ? 43 : $tunnelId.hashCode());
        Object $deviceClassId = this.getDeviceClassId();
        result = result * 59 + ($deviceClassId == null ? 43 : $deviceClassId.hashCode());
        Object $seclineId = this.getSeclineId();
        result = result * 59 + ($seclineId == null ? 43 : $seclineId.hashCode());
        Object $pillarNum = this.getPillarNum();
        result = result * 59 + ($pillarNum == null ? 43 : $pillarNum.hashCode());
        Object $pillarNo = this.getPillarNo();
        result = result * 59 + ($pillarNo == null ? 43 : $pillarNo.hashCode());
        Object $pillarName = this.getPillarName();
        result = result * 59 + ($pillarName == null ? 43 : $pillarName.hashCode());
        Object $pillarTypeId = this.getPillarTypeId();
        result = result * 59 + ($pillarTypeId == null ? 43 : $pillarTypeId.hashCode());
        Object $materialNo = this.getMaterialNo();
        result = result * 59 + ($materialNo == null ? 43 : $materialNo.hashCode());
        Object $runDate = this.getRunDate();
        result = result * 59 + ($runDate == null ? 43 : $runDate.hashCode());
        Object $serviceTerm = this.getServiceTerm();
        result = result * 59 + ($serviceTerm == null ? 43 : $serviceTerm.hashCode());
        Object $mfrs = this.getMfrs();
        result = result * 59 + ($mfrs == null ? 43 : $mfrs.hashCode());
        Object $mfrsDate = this.getMfrsDate();
        result = result * 59 + ($mfrsDate == null ? 43 : $mfrsDate.hashCode());
        Object $mfrsSerialNo = this.getMfrsSerialNo();
        result = result * 59 + ($mfrsSerialNo == null ? 43 : $mfrsSerialNo.hashCode());
        Object $mfrsLotNo = this.getMfrsLotNo();
        result = result * 59 + ($mfrsLotNo == null ? 43 : $mfrsLotNo.hashCode());
        Object $roadMark = this.getRoadMark();
        result = result * 59 + ($roadMark == null ? 43 : $roadMark.hashCode());
        Object $orderNum = this.getOrderNum();
        result = result * 59 + ($orderNum == null ? 43 : $orderNum.hashCode());
        Object $longitude = this.getLongitude();
        result = result * 59 + ($longitude == null ? 43 : $longitude.hashCode());
        Object $latitude = this.getLatitude();
        result = result * 59 + ($latitude == null ? 43 : $latitude.hashCode());
        Object $lastOverhaulDate = this.getLastOverhaulDate();
        result = result * 59 + ($lastOverhaulDate == null ? 43 : $lastOverhaulDate.hashCode());
        Object $lastDetectDate = this.getLastDetectDate();
        result = result * 59 + ($lastDetectDate == null ? 43 : $lastDetectDate.hashCode());
        Object $lastInspectionDate = this.getLastInspectionDate();
        result = result * 59 + ($lastInspectionDate == null ? 43 : $lastInspectionDate.hashCode());
        Object $overhaulPeriod = this.getOverhaulPeriod();
        result = result * 59 + ($overhaulPeriod == null ? 43 : $overhaulPeriod.hashCode());
        Object $detectPeriod = this.getDetectPeriod();
        result = result * 59 + ($detectPeriod == null ? 43 : $detectPeriod.hashCode());
        Object $inspectionPeriod = this.getInspectionPeriod();
        result = result * 59 + ($inspectionPeriod == null ? 43 : $inspectionPeriod.hashCode());
//        Object $repairPeriodConfigId = this.getRepairPeriodConfigId();
//        result = result * 59 + ($repairPeriodConfigId == null ? 43 : $repairPeriodConfigId.hashCode());
//        Object $detectPeriodConfigId = this.getDetectPeriodConfigId();
//        result = result * 59 + ($detectPeriodConfigId == null ? 43 : $detectPeriodConfigId.hashCode());
//        Object $inspectionPeriodConfigId = this.getInspectionPeriodConfigId();
//        result = result * 59 + ($inspectionPeriodConfigId == null ? 43 : $inspectionPeriodConfigId.hashCode());
        Object $memo = this.getMemo();
        result = result * 59 + ($memo == null ? 43 : $memo.hashCode());
        Object $deptId = this.getDeptId();
        result = result * 59 + ($deptId == null ? 43 : $deptId.hashCode());
        Object $isAudit = this.getIsAudit();
        result = result * 59 + ($isAudit == null ? 43 : $isAudit.hashCode());
        Object $pillarMaterial = this.getPillarMaterial();
        result = result * 59 + ($pillarMaterial == null ? 43 : $pillarMaterial.hashCode());
        Object $pillarModels = this.getPillarModels();
        result = result * 59 + ($pillarModels == null ? 43 : $pillarModels.hashCode());
        Object $pillarType = this.getPillarType();
        result = result * 59 + ($pillarType == null ? 43 : $pillarType.hashCode());
        Object $deleteStatus = this.getDeleteStatus();
        result = result * 59 + ($deleteStatus == null ? 43 : $deleteStatus.hashCode());
        Object $geometryType = this.getGeometryType();
        result = result * 59 + ($geometryType == null ? 43 : $geometryType.hashCode());
        Object $preOverhaulDate = this.getPreOverhaulDate();
        result = result * 59 + ($preOverhaulDate == null ? 43 : $preOverhaulDate.hashCode());
        Object $preDetectDate = this.getPreDetectDate();
        result = result * 59 + ($preDetectDate == null ? 43 : $preDetectDate.hashCode());
        Object $preInspectionDate = this.getPreInspectionDate();
        result = result * 59 + ($preInspectionDate == null ? 43 : $preInspectionDate.hashCode());
        Object $isHitchGround = this.getIsHitchGround();
        result = result * 59 + ($isHitchGround == null ? 43 : $isHitchGround.hashCode());
        Object $lastOverhaulPerson = this.getLastOverhaulPerson();
        result = result * 59 + ($lastOverhaulPerson == null ? 43 : $lastOverhaulPerson.hashCode());
        Object $lastDetectPerson = this.getLastDetectPerson();
        result = result * 59 + ($lastDetectPerson == null ? 43 : $lastDetectPerson.hashCode());
        Object $lastInspectionPerson = this.getLastInspectionPerson();
        result = result * 59 + ($lastInspectionPerson == null ? 43 : $lastInspectionPerson.hashCode());
        Object $preOverhaulPerson = this.getPreOverhaulPerson();
        result = result * 59 + ($preOverhaulPerson == null ? 43 : $preOverhaulPerson.hashCode());
        Object $preDetectPerson = this.getPreDetectPerson();
        result = result * 59 + ($preDetectPerson == null ? 43 : $preDetectPerson.hashCode());
        Object $preInspectionPerson = this.getPreInspectionPerson();
        result = result * 59 + ($preInspectionPerson == null ? 43 : $preInspectionPerson.hashCode());
        Object $createDatetime = this.getCreateDatetime();
        result = result * 59 + ($createDatetime == null ? 43 : $createDatetime.hashCode());
        Object $updateDatetime = this.getUpdateDatetime();
        result = result * 59 + ($updateDatetime == null ? 43 : $updateDatetime.hashCode());
        Object $createBy = this.getCreateBy();
        result = result * 59 + ($createBy == null ? 43 : $createBy.hashCode());
        Object $updateBy = this.getUpdateBy();
        result = result * 59 + ($updateBy == null ? 43 : $updateBy.hashCode());
        return result;
    }

    public String toString() {
        return "JcwPillar(pillarId=" + this.getPillarId() + ", trackId=" + this.getTrackId() + ", directionId=" + this.getDirectionId() + ", siteId=" + this.getSiteId() + ", tunnelId=" + this.getTunnelId() + ", deviceClassId=" + this.getDeviceClassId() + ", seclineId=" + this.getSeclineId() + ", pillarNum=" + this.getPillarNum() + ", pillarNo=" + this.getPillarNo() + ", pillarName=" + this.getPillarName() + ", pillarTypeId=" + this.getPillarTypeId() + ", materialNo=" + this.getMaterialNo() + ", runDate=" + this.getRunDate() + ", serviceTerm=" + this.getServiceTerm() + ", mfrs=" + this.getMfrs() + ", mfrsDate=" + this.getMfrsDate() + ", mfrsSerialNo=" + this.getMfrsSerialNo() + ", mfrsLotNo=" + this.getMfrsLotNo() + ", roadMark=" + this.getRoadMark() + ", orderNum=" + this.getOrderNum() + ", longitude=" + this.getLongitude() + ", latitude=" + this.getLatitude() + ", lastOverhaulDate=" + this.getLastOverhaulDate() + ", lastDetectDate=" + this.getLastDetectDate() + ", lastInspectionDate=" + this.getLastInspectionDate() + ", overhaulPeriod=" + this.getOverhaulPeriod() + ", detectPeriod=" + this.getDetectPeriod() + ", inspectionPeriod=" + this.getInspectionPeriod() + ", memo=" + this.getMemo() + ", deptId=" + this.getDeptId() + ", isAudit=" + this.getIsAudit() + ", pillarMaterial=" + this.getPillarMaterial() + ", pillarModels=" + this.getPillarModels() + ", pillarType=" + this.getPillarType() + ", deleteStatus=" + this.getDeleteStatus() + ", geometryType=" + this.getGeometryType() + ", preOverhaulDate=" + this.getPreOverhaulDate() + ", preDetectDate=" + this.getPreDetectDate() + ", preInspectionDate=" + this.getPreInspectionDate() + ", isHitchGround=" + this.getIsHitchGround() + ", lastOverhaulPerson=" + this.getLastOverhaulPerson() + ", lastDetectPerson=" + this.getLastDetectPerson() + ", lastInspectionPerson=" + this.getLastInspectionPerson() + ", preOverhaulPerson=" + this.getPreOverhaulPerson() + ", preDetectPerson=" + this.getPreDetectPerson() + ", preInspectionPerson=" + this.getPreInspectionPerson() +  ", createDatetime=" + this.getCreateDatetime() + ", updateDatetime=" + this.getUpdateDatetime() + ", createBy=" + this.getCreateBy() + ", updateBy=" + this.getUpdateBy() + ")";
    }
}

